package com.lagou.drinkbeer

object DrinkBeer {

    def main(args: Array[String]): Unit = {
        val init = 100 / 2

        println(s"100元最多可喝${init + getSum(init,init,0)}瓶啤酒!")
    }

    /**
      * 计算酒瓶和瓶盖能兑换的啤酒数量
      * @param emptyBottle  //空瓶数
      * @param cap         //瓶盖数
      * @param sum         //兑换啤酒数
      */
    def getSum(emptyBottle: Int, cap: Int, sum: Int): Int = {
        if (emptyBottle < 3 && cap < 5) return sum

        val a = emptyBottle / 3   //空瓶可兑换啤酒数
        val b = emptyBottle % 3   // 剩余空瓶数
        val c = cap / 5           //瓶盖可兑换啤酒数
        val d = cap % 5           //剩余瓶盖数

        println(s"剩余空瓶数：${a + b + c}, 剩余瓶盖数：${a + c + d}, 已换啤酒总数： ${sum + a + c}")
        getSum(a + b + c,a + c + d,sum + a + c)
    }
}
